import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'
// 创建数据仓库切片
const newsSlice = createSlice({
    // 切片名称
    name: 'news',
    // 定义数据
    initialState: {
        newsList: []
    },
    // 定义同步方法
    reducers: {
        // 初始化同步方法
        // action={payload:'数据',type:'操作类型'}
        newsListInit(state, action) {
            state.newsList = action.payload
        }
    }
})
// 导出actions方法
export const { newsListInit } = newsSlice.actions
// 定义异步方法
export const getNewsList: ({ page, size }: { page: number, size: number }) => any = createAsyncThunk('news/getList', async (params, { dispatch }) => {
    console.log(params, 'params');
    const res = await (await fetch('https://cnodejs.org/api/v1/topics')).json()
    if (res.success) {
        dispatch(newsListInit(res.data))
    }

})
// 导出当前数据切片中的reducer函数
export default newsSlice.reducer